Proposal by Domagoj Perisic for SmallFinger - framework for accessing fingerprint devices

Proposed by Domagoj Perisic (profile, biography) Don't forget to submit this proposal to official Google Melange site too!


PROJECT PROPOSAL

How will I do that project

Important project phases:

  • Low-level API for Suprema fingerprints device development
  • High-level abstractions and framework development
  • OpenID demo application development

Low-level API for Suprema fingerprints device

In this phase I will develop FFI to all important functions in Seprema fingerprint API. I will be using Suprema Software Development Kit that has scanner device with legal licence for SDK.

High-level apstractions and framework

In this phase I will try to develop generalized interface for fingerprint devices that could hopefully be used also for other devices beside Suprema fingerprint.

In this phase I should also learn about other fingerprint devices and their application interface.

OpenID demo application

This application should enable computer users to host their OpenID identity on their local computer.

When user tries to login on some website with their OpenID identity, site will refer him to application running on user computer. Personal OpenID server will ask user for authorization with his fingerprint, and if fingerprint is verified ok, it will authorize user to access the web site.

This way user will be able to completely control his OpenID identity usage.

Note: It is expected that user would be able to have his domain served from his local computer by means of dynamic DNS or similar.

What tools and methodologies I intend to use

I will be developing this project in Pharo Smalltalk, and Montecello as code repository.

Whenever possible I will try to keep code portable to other Smalltalk dialects, and when applicable I will use Grease and /or Sport compatibility library.

I will be using SUnit testing framework to provide unique tests for the fingerprint scanning framework.

Suggested timeline and milestones

  • Low-level API for Suprema fingerprints device development -24.May-15.June.2010.
  • High-level apstractions and framework development - 16.June. - 10.July. 2010.
  • OpenID demo application development - 11.July. - 31.July. 2010.
  • Refinement and Improvements - 1.August.- 10.August. 2010.
  • Documnetation and Finalization - 11.August- 16.August. 2010.

Where I see the risks

  • I'm new to Smalltalk development
  • Information about other scanning devices maybe hard to obtain, which could result in less usable abstractions in high level framework
  • OpenID framework could prove to be too complex to implement properly in given time frame

How the results will look like

Framework for accessing fingerprint devices will be stored as a source code in Montecello repository. This code could be loaded into the Pharo image and used to access the Suprema fingerprint device ( together with Suprema provided DLL's).

Set of Unit tests for both low-level and high-level interfaces will be provided.

Personal OpenID server will also be stored as source code in Montecello repository.

When loaded into Pharo it will enable Pharo image to act as OpenID server.




Updated: 9.4.2010